function getRandom(min, max) {
  return Math.floor(Math.random() * (max + 1 - min) + min)
}
export function shuffle(list) {
  var arr = list.slice()
  for (var i = 0; i < arr.length; i++) {
    let j = getRandom(arr)
    let t = arr[i]
    arr[i] = arr[j]
    arr[j] = t
  }
  return arr
}

// 节流  场景: 频繁得调用一个回调函数, 但要的是最后的那一次
// ...args剩余参数语法=>arguments  剩余参数的数组args 可以使用数组方法 arguments不行
export function debounce(func, delay) {
  let timer
  return function(...args) {
    if (timer) clearTimeout(timer)
    timer = setTimeout(() => {
      func.apply(this, args)
    }, delay)
  }
}
